function [data_train, data_test] = split_out(data, ratio)
    [data_train, data_test] = holdoutSplit(data, ratio);
    [max_col, min_col, mean_col, data_train(:,2:end)] = average_scale(data_train(:,2:end));
    data_test(:,2:end) = (data_test(:,2:end) - mean_col) ./ (max_col - min_col);
    JM_aver_list = cal_JM_aver_list(data_train);
    softmax_probabilities = softmax(JM_aver_list) .* 100;
 
    data_train(:,2:end) = data_train(:,2:end) .* softmax_probabilities';
    data_test(:,2:end) = data_test(:,2:end) .* softmax_probabilities';
end
